package Day_0216.JVM.GarbageCollection;

/**
 * @author zxc
 * @date 2023/02/16 16:59
 **/
public class Generation_Garbage_Collector {
    public static void main(String[] args) {
        /**
         * 请简述分代垃圾回收器如何进行工作
         * ===》
         * 1.分代回收器有两个分区：老生代和新生代，新生代默认的空间占比总空间的 1/3，老生代的默认占比是2/3。
         *
         * 2.新生代使用的是，复制算法，新生代里有 3 个分区：Eden区、To Survivor区、From Survivor区，它们的默认占比是 8:1:1
         * Minor GC的执行流程如下：
         * （1）把 Eden + From Survivor 中存活的对象放入 To Survivor 区；
         * （2）清空 Eden 和 From Survivor 分区；
         * （3）From Survivor 和 To Survivor 分区交换，From Survivor 变 To Survivor，To Survivor 变 From Survivor。
         * （4）每次在 From Survivor 到 To Survivor 移动时都存活的对象，年龄就 +1，当年龄到达 15（默认配置是15）时，升级为老生代。
         *  需要注意 ：大对象也会直接进入老生代。
         *
         * 3.老生代 ：
         * 当空间占用到达某个值之后，就会触发全局垃圾回收（Full GC），一般使用标记整理的执行算法。
         *
         */
    }
}
